package br.com.hbt.innerClass;

public class Outter {

    class Inner {

        public void innerMethod() {

            System.out.println("innerMethod()");
        }

        public void testeInner() {
            System.out.println(this.getClass().toString());
        }

        public void printInstance(Object inst) {
            System.out.println("Outter.Inner" + inst);
        }
    }

    void teste() {
        class InnerMethodClass {

            {
                System.out.println("InnerMethodClass: Classe dentro de metodo? bleeerg");
            }
        }

        InnerMethodClass imc = new InnerMethodClass();

        System.out.println(this.getClass().toString());
        Outter.Inner i = new Outter().new Inner();
        i.printInstance(this);

    }

    public static void main(String[] args) {
        Outter o = new Outter();
        o.teste();
        Outter.Inner i = o.new Inner();
        i.testeInner();

    }
}
